数据库的基本安全体系由哪几部分组成
数据库的基本安全体系由访问控制
、安全认证
、用户管理
、权限分配
、系统日志和审计
等几个主要环节组成。
1.访问控制
由于数据库是把各种用户的数据按某种规则集中在一起统一管理的,各种用户根据需要将会不断对数据库进行访问,为了保护用户数据的安全,数据库系统必须采取措施对每个用户的访问加以限制,只允许用户访问属于自己的数据。
为了有效实施访问控制,数据库系统应能够根据不同的安全要求为整个系统控制范围内的主体和客体设置安全属性标记。用户的安全属性应在用户建立注册账户后由系统安全员为其设置安全属性标记并维护;客体的安全属性应在客体被调入系统控制范围内时以默认方式生成安全属性标记或由安全员进行设置并维护;系统管理员、安全员和审计员的安全属性应通过相互安全标记形成制约关系;对于自主访问控制,应能够以某种方式标记主体与客体的访问关系;对于强制访问控制,应能够分别对主体和客体进行安全属性标记,并建立安全属性库,能实现基于多级安全模型的强制访问控制。
2.安全认证
一般情况下,用户对数据库的访问需要经过两层认证,一是在DBMS外由操作系统完成的认证;二是由DBMS自身完成的认证。由于DBMS本身也是操作系统中的一个用户,所以DBMS并不能完全信赖操作系统对用户的身份认证,应该拥有自己的认证机制,特别是对安全性要求较高的数据库系统,更需要由DBMS来完成对用户身份的认证。
1)基于操作系统的身份认证
这种认证的过程是:用户首先向操作系统提出访问DBMS的申请,操作系统对用户身份认证通过后,向用户提供一份访问DBMS的证书:用户得到证书后,再向DBMS提出访问申请,此时,DBMS对用户进行各项审查,如果该用户是DBMS的合法用户,则为其换证(该证书上含有用户标识、用户安全属性和数据安全属性等内容),否则拒绝访问。
2)基于公钥的身份认证
这是利用公钥密码技术实现的认证方式。DBMS很容易获得所管理用户的公钥信息,而用户的私钥就是访问DBMS的证书。用户通过使用私钥加密用户标识直接向DBMS提出访问请求,而DBMS利用用户的公钥解密后,对用户进行审查,如果审查通过,则为其换证,否则拒绝访问。
3.用户管理
数据库系统中的用户是按类别进行管理的,不同类别的用户享有不同的操作权限,同一类别的用户对数据库中数据的管理和使用范围也不完全相同。
数据库系统一般将用户分为普通用户、特权用户和超级用户三大类。普通用户只能查阅数据库中的部分信息,不能改动数据库中的任何数据;特权用户除具有普通用户的权限外,还具有一定的资源管理权限,如创建数据表、索引等,可在规定的权限范围内对数据库进行有限修改和查询,也可将自己的权限授予其他用户;超级用户享有数据库管理系统的一切权限,包括创建用户、为用户授权、创建数据库、备份数据库、恢复数据库,以及数据库系统审计等。普通用户和特权用户都是由超级用户创建的。
数据库系统中的数据也可以分类管理,它通常把某用户可查询的数据逻辑上组织在一起构成一个或多个视图,并赋予名称,然后将该视图的查询权限授予指定用户或一组用户。从而既保证用户能访问到所需数据,同时又限制用户对数据库中其他数据的访问。
4.权限分配
DBMS是通过为用户授予权限、撤销权限和拒绝访问来限制用户对数据库访问的。凡登录到数据库系统中的用户必须经DBMS授权才能访问数据库中的数据信息,未授权的用户是无法访问数据库的。
数据库中的权限一般包括对象权限、语句权限和默认权限三种类型。对象权限是指用户对数据库对象(如表、视图、记录的行列、存储过程和用户定义的函数等)进行操作的权限,如选择、插入、删除、更新和执行等;语句权限是指用户是否具有执行某些语句的权限,例如,禁止或允许用户创建数据库、表、过程、函数、视图,以及备份数据库和日志等;默认权限是指系统预定义用户所拥有的权限,如数据库拥有者、数据库对象拥有者及固定服务器角色成员所拥有的权限等,用户的默认权限是不需要设置的。
5.系统日志和审计
系统日志和审计是保护数据库系统安全的一个重要方面。它通过记录和监视每个用户对数据库所实施的操作为系统管理员提供维护系统的有力证据。数据库的审计包括用户审计和系统审计两个方面。用户审计主要是记录每次对数据库系统实施操作的用户名、时间、操作代码及结果等信息;系统审计主要是记录系统级的操作内容,这些操作都是系统级用户实施的。